This application relates to displaying complementary sources of content for use, for example, in a web-based TV system.
The computer system 100 illustrated in FIG. 1 represents a typical hardware setup for executing software that allows a user to perform tasks such as communicating with other computer users, accessing various computer resources, and viewing, creating, or otherwise manipulating electronic contentxe2x80x94that is, any combination of text, images, movies, music or other sounds, animations, 3D virtual worlds, and links to other objects. The system includes various input/output (I/O) devices (mouse 103, keyboard 105, display 107) and a general purpose computer 109 having a central processor unit (CPU) 111, an I/O unit 113 and a memory 115 that stores data and various programs, such as an operating system 117 and one or more application programs 119. The computer system 100 also typically includes some sort of communications card or device 121 (e.g., a modem or network adapter) for exchanging data with a network 123 via a communications link 125 (e.g., a telephone line).
As shown in FIG. 2, a user of a computer system can access electronic content or other resources either stored remotely at one or more server systems 200 or locally at the user""s own client system 202 (for example, a personal or laptop computer). An example of a server system 200 is a host computer that provides subscribers with online computer services such as e-mail, e-commerce, chat rooms, Internet access, and electronic newspapers and magazines. Users of a host computer""s online services typically communicate with one or more central server systems 200 through client software executing on their respective client systems 202. A client system 202 may connect to a server through a modem 204 and a phone line 206, or through a direct connection 207 using a protocol such as TCP/IP.
In practice, a server system 200 typically will not be a single monolithic entity but rather will be a network of interconnected server computers, possibly physically dispersed from each other, each dedicated to its own set of duties and/or to a particular geographical region. In such a case, the individual servers are interconnected by a network of communication links, in known fashion. One such server system is xe2x80x9cAmerica Online 5.0xe2x80x9d from America Online, Incorporated of Virginia.
A xe2x80x9cbrowserxe2x80x9d is an example of client software that enables users to access and view electronic content stored either locally or remotely, such as in a network environment (local area network (LAN), intranet, Internet). A browser typically is used for displaying documents described in Hyper-Text Markup Language (HTML) and stored on servers connected to a network such as the Internet.
A user instructs a browser to access an HTML document, or web page, by specifying a network addressxe2x80x94or Uniform Resource Locator (URL)xe2x80x94at which a desired document resides. In response, the browser contacts the corresponding server hosting the requested web page, retrieves the one or more files that make up the web page, and then displays the web page in a window on the user""s computer screen.
FIG. 3 is a screenshot of a browser application 300 (Microsoft Internet Explorer) displaying a typical HTML document, or web page 302. As shown therein, a single web page 302 may be composed of several different files potentially of different data types 304 (for example, text, graphics, images, virtual worlds, sounds, and movies). In addition, a web page can include links 306 pointing to other resources (for example, web pages or individual files) available on the network. Links 306 can take virtually any visual form. For example, they can appear either as a text string, a graphical image, or a combination of the two. Each link 306 has an associated URL pointing to a location on the network. When a user clicks on, or otherwise selects, a displayed link 306, the browser automatically will retrieve the web page (or other resource) corresponding to the link""s associated URL and execute it or display it to the user.
Referring to FIG. 4, a xe2x80x9cweb-based TVxe2x80x9d system 400 has been developed that makes dual usage of conventional TV sets 402. That is, a user of web-based TV can watch TV and/or view web pages and otherwise xe2x80x9csurfxe2x80x9d the Internet. In this regard, a special purpose computer 404, referred to as a xe2x80x9cset top device,xe2x80x9d is used in connection with standard TV sets 402 for viewing web pages on the Internet. The set top device 404 essentially has the same basic components as the general purpose computer 100 illustrated in FIG. 1, except that it also includes a TV tuner 406 for receiving TV programming in the form of broadcast, satellite, and/or cable TV signals. The set top device 404 thus can selectively display two different sources of content (TV programming received by TV tuner 406 and web or network content received by communications card 121) on the TV monitor 402 connected to the set top device 404.
The web content displayed may be a program that is transmitted only on the Internet. For example, the programming may be a sports event for which a broadcast network has the viewing rights but decides not to broadcast the event. In such an instance, the broadcast network and an Internet-based TV provider may cooperate to transmit the event across the Internet. The programming also may be a continuous series of programming that is transmitted on the Internet and not otherwise broadcast.
Accessories may be added to the web-based TV system 400, such as, for example, a wireless keyboard 408. The wireless keyboard 408 can be similar to the keyboard 105 but it also may have specialized keys designed for use in the web-based TV system 400 to make viewing and web surfing easier. Additionally, a wireless remote control 410 may be used to control the set top device 404 and to facilitate channel surfing and web-based TV connections via various buttons 412, which may be specialized for the web-based TV environment.
An example of an existing web-based TV system 400 is xe2x80x9cWebTVxe2x80x9d by Microsoft. Information about WebTV service may be found at WebTV""s various web pages, for example, at http://www.webtv.net and http://developer.webtv.net.
Users of web-based TV may subscribe to a cable TV provider. Cable TV providers typically provide users an Electronic Programming Guide (EPG), which is a listing of channels that are available to the subscribers of cable TV providers. Typically, an EPG is displayed on a channel (e.g., channel 3) dedicated for that purpose. FIG. 5 is an example of an EPG 500 from Yahoo!. As shown therein, a list of channels 501 is presented to users. The channels may be, for example, a combination of broadcast programming and Internet-based programming. The schedule 502 for each channel typically is presented as a list showing the next several hours of programming for each channel. The starting and stopping times 503 are presented as headers at the top of the list of channel schedules. The user may use the controls 504 to limit the number of channels presented. For example, by selecting the xe2x80x9cSci-Fixe2x80x9d category 505, the user can limit the set of channels presented to those showing science fiction programming. By using conventional graphical user interface (GUI) manipulation techniques, users of EPGs may be able to scroll through the list of channels, and may be able to scroll forward in time 506 to see the schedule for future programs. Users also may be able to select a channel to watch using the EPG.
Different cable TV providers may offer different EPGs. As a result, some channels may be available to subscribers of one cable TV provider that are not available to subscribers of another cable TV provider. A particular cable TV provider""s collection of available TV channels is referred to as its xe2x80x9cChannel Availability.xe2x80x9d
In general, a cable TV provider will provide its subscribers not only with a basic package of xe2x80x9cfreexe2x80x9d channels that are included with the base price, but also with several xe2x80x9cpayxe2x80x9d (or xe2x80x9csubscriptionxe2x80x9d) channels that subscribers optionally can elect to receive for additional charges. The collections of channels that a subscriber elects to receive typically form that subscriber""s xe2x80x9cchannel line-up.xe2x80x9d The channels in the subscriber""s line-up are referred to as the xe2x80x9csubscribed channelsxe2x80x9d and those channels not selected are referred to as the xe2x80x9cunsubscribed channels.xe2x80x9d For a particular subscriber, therefore, the available channels in the EPG are divided into the subscribed channels and the unsubscribed channels.
The present inventors recognized that, in conventional web-based TV systems, viewers must separately designate for display a computer network content source (e.g., a specific TV channel). Accordingly, the present inventors developed a system and various techniques whereby viewers need only designate one of the content sources and the web-based TV system will automatically select a complementary or related TV channel and/or web page. This capability is referred to as xe2x80x9cFeatured Tuning.xe2x80x9d
In one general aspect, Featured Tuning includes a computer-implemented method of displaying related sources of viewing content. The method includes receiving a user input specifying a URL address corresponding to a web page, determining a corresponding television channel and displaying the corresponding television channel.
Embodiments may include one or more of the following features. For example, receiving the user input specifying the URL address may further include executing a Java script function to specify the URL address. Specifying the URL address may include the user specifying the URL address.
Determining a corresponding television channel may include comparing the URL address to a list of television channels that includes at least a primary related television channel and selecting for display the primary related television channel. Determining a corresponding television channel may further include selecting for display a secondary related television channel if the primary related television channel is not available or is not one to which the user has subscribed and the user has subscribed to the secondary related television channel and that channel is available. Determining a corresponding related source of viewing content may further include selecting for display a generic page calling, a second URL address, or executing a Java script function, if neither the primary related television channel nor the secondary related television channel are available and part of the user""s subscription.
Determining a corresponding television channel may further include one or more of selecting for display a text/graphics template based on the corresponding selected television channel, selecting for execution an HTML code based on the corresponding selected television channel, selecting for execution a Java script code based on the corresponding selected television channel, selecting for display an advertisement hot spot based on the corresponding selected television channel, and selecting for display a text/graphics template if neither the primary related television channel nor the secondary related television channel are available and part of the user""s subscription. A HTML code or a Java script code may be selected for execution and/or an advertisement may be selected for display, based on the text/graphics template selected.
The computer-implemented method of displaying related sources of viewing content may further include receiving a user input specifying a user-selected television channel and displaying the user-selected television channel in place of the corresponding television channel. The method may further include receiving a user input specifying the first URL address corresponding to a web page and displaying the television channel corresponding to the first URL address.
The computer-implemented method of displaying related sources of viewing content may further include selecting for display on the video display an object relating to the displayed television channel. Selecting the object for display may include comparing the displayed television channel with a mapping of objects and selecting a primary related object corresponding to the displayed television channel. The primary related object may be a generic page or a generic object. Selecting the related object may include calling a second URL address and/or executing a Java script function.
In the computer-implemented method of displaying related sources of viewing content, determining a corresponding television channel may include performing a Channel Availability scan to create a list of channels available from the television provider, performing a subscription status scan from the list of channels available to create a list of subscribed channels, comparing the URL address to the list of subscribed channels, selecting for display the primary related television channel if the primary related television channel is on the list of subscribed channels, and selecting for display the secondary related television channel if the primary related television channel is not on the list of subscribed channels and the secondary related television channel is on the list of subscribed channels.
In another general aspect, a computer-implemented method of displaying related sources of viewing content includes receiving a user input specifying a television channel, determining a URL address corresponding to the television channel, and displaying a web page corresponding to the URL address.
In another general aspect, a system for displaying at least two sources of viewing content includes a set top box having instructions stored within the set top box. The instructions are for receiving a user input specifying a URL address corresponding to a web page, determining a corresponding television channel, and displaying the corresponding television channel.
In another general aspect, computer software stored in a computer-readable medium provides Featured Tuning between a URL address and a Feature Tuned channel. The software includes instructions for causing a computer system to perform the following operations: receive a user input specifying a URL address corresponding to a web page, determine a corresponding television channel, and display the corresponding television channel.
The system and techniques described here may provide one or more of the following advantages. For example, a web content screen can be designed to display content related to a subject matter selected for viewing by a user, which will enhance the viewing experience of the user. The related content may include related advertising, which can be marketed at a premium because it will be viewed by users interested in that subject matter. The related content also may include information relating to a television channel available to a user but one which the user has not subscribed to. By viewing information about that channel, the user may be enticed to subscribe to that channel, which benefits the television content provider. The system and techniques also provide a distribution channel for Internet-TV providers and broadcast TV providers to distribute interactive content and advertising across local and national television line-ups. The distributed programming may be consistent across the nation and the associated advertising may be relevant to the programming. The programming may by leveraged because the system and techniques enable related offerings, such as information feeds, tickers, polling, contextual chats, targeted advertisements, instant Record/Remind functions, tags, games, and shopping.
The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features and advantages will be apparent from the description and drawings, and from the claims.